package main.java.design.chain;

/**
 * <p>
 *     实现抽象处理者的处理方法，判断能否处理本次请求，如果可以处理请求则处理，否则将该请求转给它的后继者。
 * </p>
 *
 * @author : wangdejian
 * @version 1.0
 * @date : 2020/6/25 17:36
 */
// 总监
public class Director extends Manager {

    @Override
    public String handlerRequest(String employee, int leaveDays) {

        if (leaveDays < 7 ) {
            System.out.println(this.getClass().getSimpleName() + ",同意:" + employee + leaveDays + "天，假期");
        } else {
            // 总监处理不了，判断是否有下一个执行者存在
            if (null != getNext()) {
                getNext().handlerRequest(employee, leaveDays);
            } else {
                System.out.println("没有执行者可以处理" + employee + leaveDays + "天,假期申请");
            }

        }
        return null;
    }
}
